package com.loong.system.common.backend.param;

import com.loong.common.validator.group.CommonInsert;
import com.loong.common.validator.group.CommonUpdate;
import com.loong.system.model.SystemPosition;
import lombok.*;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;

@Builder
@Setter
@Getter
@AllArgsConstructor
@NoArgsConstructor
public class SystemPositionParam {
    @NotNull(groups = {CommonUpdate.class},message = "id不能为空")
    private Long id;
    /**
     * 位置名称
     */
    @NotBlank(message = "新增、更新时位置名称不能为空",groups = {CommonInsert.class})
    private String name;

    /**
     * 位置父节点id
     */
    @NotNull(message = "新增、更新时位置父节点id不能为空",groups = {CommonUpdate.class, CommonInsert.class})
    private Long parentId;

    /**
     * 排序位置
     */
    @NotNull(message = "新增、更新时排序位置不能为空",groups = {CommonInsert.class})
    private Integer sort;

    /**
     * 用于区分节点类型 预留用
     */
    private String code;

    List<SystemPosition> children;

}
